Построение CLI-Утилит на Ruby при помощи Thor

Пердисловие.

Продолжая цикл статей о других направления разработки на Ruby, кроме веб-разработки. Пришла очередь многим известного Thor, который позволяет делать удобные cli-утилиты с применением Ruby.

Знакомство.

Давайте сразу перейдем к простому примеру:

require 'thor'  class SayHi < Thor   desc "hi NAME", "say hello to NAME"    def hi(name)     puts "Hi #{name}!"   end end  SayHi.start(ARGV)

Если вы запустите это без каких-либо аргументов, вы должны получить что-то вроде этого на выходе:

Commands:   first_steps.rb help [COMMAND]  # Describe available commands or one specific command   first_steps.rb hi NAME         # say hello to NAME

С помощью всего нескольких строк кода у нас есть полное описание созданной нами команды! Конечно, если вы запустите скрипт с аргументами “Hi Danila”, вы должны получить ответ “Hello, Danila!”. Давайте разберем код.

Мы создали класс под названием “SayHi”, который является производным от класса

Читать далее